home *** CD-ROM | disk | FTP | other *** search
- #include<kiwi_inc.h>
- #include<kiwipro.h>
- #include<demopro.h>
- #include<kiwiprin.h>
-
-
- /* Druckmenu */
- MENU drucker[8]={
- "Wahle Datei ",0,1,"Setzt den Druckausgabekanal fest",
- "Ausgabegerat ",0,1,"Setzt die Druckausgabe auf Device",
- "─────────────",-1,1,"",
- "Breitenformat",0,1,"Wählt die Druckbreite",
- "Schrift ",0,1,"Wählt die Druckschrift",
- "Lage ",0,1,"Wählt die Drucklage",
- "Attribut ",1,1,"Wählt die Druckattribute",
- "Initalisieren",1,1,"Setzt die Defaultwerte",
- };
-
-
- /* Ausgabemenu */
- MENU ausgabe[3]={
- "Drucker",0,1,"",
- "Datei ",1,1,"",
- "Beides ",0,1,"",
- };
-
-
- /* Breite menu */
- MENU breite[9]={
- "Kondens ",0,1,"",
- "Normal ",0,1,"",
- "────────",-1,0,"",
- "10 CPI ",0,1,"",
- "12 CPI ",1,1,"",
- "15 CPI ",1,1,"",
- "────────",-1,0,"",
- "Doppelt ",0,1,"",
- "Dreifach",1,1,"",
- };
-
-
- /* Schriftartmenu */
- MENU schrift[6]={
- "Draft ",0,1,"",
- "Courier ",0,1,"",
- "Souvenier",0,1,"",
- "Helvette ",0,1,"",
- "Times ",0,1,"",
- "Elite ",0,1,"",
- };
-
-
- /* Lagemenu */
- MENU lage[4]={
- "Hoch ",0,1,"",
- "Normal ",0,1,"",
- "Tief ",0,1,"",
- "Doppelt",0,1,"",
- };
-
-
- /* Attributmenu */
- MENU attribut[4]={
- "Fett ",0,1,"",
- "Unterstrichen",0,1,"",
- "Proportional ",0,1,"",
- "Kursiv ",0,1,"",
- };
-
-
- /*****************************************************************************
- *Name :druckmenu
- *Typ :int
- *Zweck:Steuert das Geschehen bei Druckermenu
- *
- *
- * Name Typ Zweck
- *Aufrufpara :
- *
- *Rueckgabep :
- *
- *Funktionswt: 0 immer
- *
- *****************************************************************************/
- int druckmenu()
- {
- int i,c,wahl;
- WINDOW win=0,win1=0,win2=0;
- FILE *stream=NULL;
- FILE *stream1=NULL;
- char pfad[DATEI_PFAD_LEN],druckdatei[DATEI_PFAD_NAME_LEN];
- char dateiname[DATEI_NAME_LEN];
-
- init_string(druckdatei,sizeof(druckdatei));/* Loesche Daten */
- init_string(dateiname,sizeof(dateiname));
- init_string(pfad,sizeof(pfad));
-
- init_editor(EDIT_ROW); /* setze Editor in Zeilenmodus */
- if(check_printer_status(0)& 7) /* Ist Printer online */
- {
- set_error_name("Drucker nicht bereit");
- get_error(); /* Zeige Fehlermeldung */
- }
-
-
-
- wahl=choose_sub_menu(drucker,8,&win);
- switch(wahl){
- case 0: set_help_name("Dateierfassung Drucken");
- set_color_table(1);
- win1=load_window("demo4.wnd");
- i=scanf_mask(win1,0,"%51s",pfad);
- if(i==13)
- {
- if(array_get_files(dateiname,pfad,20,3)==1)
- {
- create_file_path(druckdatei,pfad,dateiname);
- print_mask(win1,1,"%51s",dateiname);
- if(dialog2("Wollen Sie die Datei wirklich drucken",
- "Drucken","Abbrechen",AM,get_screen_height()-10))
- print_selectet_file(druckdatei);
- }
- }
- close_window(win1);
- break;
-
- case 1: set_help_name("Druckausgabegerat");
- c=choose_menu(ausgabe,3,25,3,&win1);
- switch(c){
- case 1: win2=open_window("Ausgabekanal",AM,AM,DATEI_PFAD_LEN,4,DOPPELT);
- display_string("Geben Sie die Druckdatei ein",win2,AM,1);
- set_window_color(win2,FLIP);
- c=edit_string(druckdatei,win2,AM,2,sizeof(druckdatei));
- if(c!=27)
- {
- fclose(stream);/* Loesche eventuell alte Druckdatei */
- stream=fopen(druckdatei,"wb");
- if(stream==NULL)
- {
- set_error_name("Druckausgabe Datei");
- get_error();
- }
- else redirect_printer(stream);/* Druckausgabe auf Datei Stream */
- }
- close_window(win2);
- close_window(win1);
- break;
-
- case 2: win2=open_window("Ausgabekanal",AM,AM,DATEI_PFAD_LEN,4,DOPPELT);
- display_string("Geben Sie die zusatzliche Druckdatei ein",win2,AM,1);
- set_window_color(win2,FLIP);
- c=edit_string(druckdatei,win2,AM,2,sizeof(druckdatei));
- if(c!=27)
- {
- fclose(stream1);
- stream1=fopen(druckdatei,"wb");
- if(stream1==NULL)
- {
- set_error_name("Druckausgabe Datei");
- get_error();
- }
- else link_printer(stream1);/* Druckausgabe auch auf Datei Stream1 */
- }
- close_window(win2);
- close_window(win1);
- break;
-
- default:break;
- }
- close_window(win1);
- break;
-
- case 2: break;
-
- case 3: set_help_name("Druckbreite");
- c=choose_menu(breite,9,17,4,&win1);
- switch(c){
- case 0: print_mode(KONDENS_EIN);
- break;
- case 1: break;
- case 2: break;
- case 3: print_mode(CPI_10);
- break;
- case 4: print_mode(CPI_12);
- break;
- case 5: print_mode(CPI_15);
- break;
- case 6: break;
- case 7: print_mode(DOPPELTX);
- break;
- case 8: print_mode(DREIFACHX);
- break;
- default:break;
- }
- close_window(win1);
- break;
-
- case 4: set_help_name("Druckschrift");
- c=choose_menu(schrift,6,18,6,&win1);
- switch(c){
- case 0: print_mode(DRAFT_MODE);
- break;
- case 1: print_mode(COURIER);
- break;
- case 2: print_mode(SOUVENIER);
- break;
- case 3: print_mode(HELVETTE);
- break;
- case 4: print_mode(TIMES);
- break;
- case 5: print_mode(ELITE);
- break;
- default:{break;}
- }
- close_window(win1);
- break;
-
- case 5: set_help_name("Drucklage");
- c=choose_menu(lage,4,29,7,&win1);
- switch(c){
- case 0: print_mode(HOCH_EIN);
- break;
- case 2: print_mode(TIEF_EIN);
- break;
- case 3: print_mode(DOPPELTY);
- break;
- default:break;
- }
- close_window(win1);
- break;
-
- case 6: set_help_name("Druckattribut");
- c=choose_menu(attribut,4,22,10,&win1);
- switch(c){
- case 0: print_mode(FETT_EIN);
- break;
- case 1: print_mode(UNTERSTREICH_EIN);
- break;
- case 2: print_mode(PROPORTIONAL_EIN);
- break;
- case 3: print_mode(CURSIV_EIN);
- break;
- default:break;
- }
- close_window(win1);
- break;
-
- case 7: print_mode(PRINTER_RESET);
- unlink_printer();
- if(stream!=NULL)fclose(stream);
- if(stream1!=NULL)fclose(stream1);
- redirect_printer(stdprn);
- break;
- }
- close_window(win);
- set_color_table(0);
-
-
-
- return(0);
- }
-